主要說明如何創建一個基本的 django 服務。
pip install virtualenvwrapper-win
mkvirtualenv <虛擬機名稱>
workon
workon <虛擬機名稱>
rmvirtualenv <虛擬機名稱>
pip install django==2.1.7
django-admin startproject <專案名稱>
python manage.py runserve
開啟本地伺服器,預設 8000 port 目錄結構
| manage.py
\---djangoAPI
asgi.py
settings.py
urls.py
wsgi.py
__init__.py
manage.py
: django命令包 參考
asgi.py
: ASGI兼容的Web服務器上的入口settings.py
: 項目配置文件(DB、金鑰、引用apps...)urls.py
: 主要路由器(各功能urls可於此集中)wsgi.py
: WSGI兼容的Web服務器上的入口__init__.py
: 一個空文件,告訴python這個目錄是一個python包 參考
python manage.py startapp <功能名稱>
目錄結構
| manage.py
\---testSetting
| admin.py
| apps.py
| models.py
| tests.py
| views.py
| __init__.py
| urls.py(自行定義)
|
\---migrations
__init__.py
admin.py
: 管理員設置migrations
: 資料庫創建紀錄models.py
: 資料庫模型views.py
: 功能邏輯urls.py
: 該功能路由# app(testSetting) > views.py
from django.http import JsonResponse # 回傳json格式
def test(request):
data = {
'msg': '這是一個測試的視圖'
}
return JsonResponse(data)
# 於各功能模組中新增 `urls.py` 檔案
# app(testSetting) > urls.py
from django.urls import path
from . import views
urlpatterns = [
path('firstApi', views.firstApi, name = 'firstApi'),
]
# 於 ***專案*** 路由載入 ***功能模組***
# project(djangoAPI) > settings.py
from django.urls import path, include
urlpatterns = [
path('testSetting/', include('testSetting.urls'))
]
於網址列輸入時,須以前綴表示EX: 127.0.0.0.1/testSetting/firstApi,如此一來在擁有很多個app時,如果有相同的views.firstApi就能夠區分